Optical code reader for measuring physical parameters of objects

ABSTRACT

Imaging optical code readers and imaging systems are disclosed for measuring or deriving physical parameters of objects in a field of view such as object dimensions and weights. A projected pattern and weight responsive platform maybe used in such measurements.

This application is a divisional of application Ser. No. 09/174,466,filed on Oct. 19, 1998.

FIELD OF THE INVENTION

The invention relates to the use of optical code readers to producevideo displays and to detect non-code image information. Aspects of theinvention are particularly useful in handheld code readers with imagesensors which are in communication with a host terminal.

BACKGROUND OF THE INVENTION AND OBJECTS

Most conventional optical scanning systems are designed specifically toread optical codes such as one-dimensional barcode symbols. Typicalconventional scanning systems generate one or more beams of laser lightwhich reflects off a barcode symbol and back to the scanning system. Thesystem obtains a continuous analog waveform corresponding to the lightreflected by the code along one or more scan lines of the system. Thesystem then decodes the waveform to extract information from thebarcode. A system of this general type is disclosed, for example, inU.S. Pat. No. 4,251,798, assigned to Symbol Technologies, Inc. A beamscanning system for detecting and decoding one and two dimensionalbarcodes is disclosed in U.S. Pat. No. 5,561,283, also assigned toSymbol Technologies, Inc.

Advantageously, barcodes and other optical codes can also be reademploying imaging devices. For example an image sensor may be employedwhich has a two dimensional array of cells or photo sensors whichcorrespond to image elements or pixels in a field of view of the device.Such an image sensor may be a two dimensional or area charge coupleddevice (CCD) and associated circuits for producing electronic signalscorresponding to a two dimensional array of pixel information for afield of view. An “Imaging Engine And Method For Code Readers” isdisclosed in a patent application so titled to Correa et al., assignedto Symbol Technologies, Inc. and filed on Jun. 12, 1998 which is herebyincorporated by reference. Many scanners in use today are deployed inhandheld units which may be manually pointed at the target. Often anindividual scanner is a component of a much larger system includingother scanners, computers, cabling, data terminals and data displays.Applicants have discovered that imaging optical code readers,particularly when used in such systems, may be adapted to have new,non-code-reading functions.

Accordingly, it is a general object of the present invention to provideimaging systems which can be employed for code reading and for a varietyof functions other than optical code reading.

Further, it is an object of the present invention to adapt imaging codereaders for use in video displays, surveillance and detection ofphysical parameters of target objects.

Various lens systems have been developed for optical code readers.Applicants assignee, Symbol Technologies, Inc. has developed bi-stablehigh speed zone collection systems for barcode scanners. Systems whichemploy lens structures moveable into the input optical path of thescanner (drop-in optics) are disclosed in U.S. patent application Ser.Nos. 08/627,167 and 08/627,168 filed Apr. 3, 1996 to Li et al. A lensstructure for an imaging code reader is disclosed in the above-mentionedCorrea et al. patent application. Conventionally, code reader lenssystems are designed to provide a depth of field, focus and monochromedetection particularly adapted for code reading.

It is an object of the present invention to provide a simply andinexpensively fabricated objective lens system for an optical codeimaging engine.

It is another object of the present invention to provide objective lenssystems enabling an imaging optical code reader to be used effectivelyfor both code reading functions and for non-coding reading functionssuch as color video displays and detection of physical parametersassociated with a bar-coded object or its environment.

It is another object of the present invention to provide an imagingoptical code reader with a field of view and working depth of viewappropriate to the signal processing and decoding capabilities of thereader and with other optical fields and focal depths for other videofunctions.

In a number of businesses, in particular in transportation and foodretail, it is desirable to decode a barcode and to determine thedimensions or size (Volume) and/or the weight of a package or item.Presently, multiple instruments and steps are required to obtain theseparameters.

It is a further object of the present invention to use an imagingoptical code reader system to determine such parameters.

Some or all of the objects previously described may be achieved in asingle optical code reading engine or system. With the addition ofappropriate control circuitry and data processing software, a system maybe constructed serving the object of producing a compact, inexpensivelyfabricated imaging system for performing new video and image analysisfunctions.

These and other objects and features of the invention will be apparentfrom this written description and drawings.

SUMMARY OF THE INVENTION

The present invention relates to methods and apparatus useful in opticalimagers, especially imaging optical code reader systems. Techniques aredisclosed which are applicable to the design of imaging engines, imaginglens systems, aiming systems, code reading stations or terminals, andsignal processing devices associated with imagers of various types.

An imaging and aiming apparatus for an optical code reader may be basedon an image sensor, including an array of photo sensor cells forproducing electronic signals corresponding to a two dimensional array ofpixel information for a field of view. In preferred embodiments, theimage sensor is a CCD.

The image processing circuitry/software located in a handheld reader orterminal, may be employed to analyze a portion of a projected pattern.This information may be used as feedback to the processing circuitry tohelp identify an image area in which a target barcode is located. Suchimage processing may also be used for determining the distance betweenthe reader and the target barcode or physical parameters associated witha target object or its environment.

A preferred embodiment of the present invention is a system for readingoptical code for displaying video images, using essentially the samehardware.

A handheld optical code reader is provided including a two dimensionalimage sensor and means for compressing video data obtained from thesensor. The code reader is connected to a host terminal with acommunication port and display monitor by a narrow band width data linkover which compressed video data from the handheld optical code readerand decoded information from optical codes read by the handheld codereader is communicated to the serial communication port of the hostterminal. In a more preferred embodiment, the system can be switchedbetween a code reading function and a video display function. In thecode reading mode, the system may be presented with a code containingthe command for the system to switch to a video display function.

An example of the narrow band width data link between the handheldoptical code reader and the remainder of the system may be an RS 232cable connected between the handheld reader and a serial communicationport of the host terminal. Such a link may operate, for example, at 115k Baud to transmit a compressed 300×200 pixel image at 3-4frames/second. Alternatively, the narrow band width data link may be aradio frequency transmitter and receiver or an infrared transmitter andreceiver.

The system may further comprise circuitry/software for detecting motionin a field of view of the handheld optical code reader. In preferredembodiments, motion is detected by monitoring the bandwidth of thecompressed video signal. In this way the handheld reader, can forexample, be strategically positioned for security monitoring and be usedto trigger an alarm or other indication of an intrusion into the fieldof view of the system.

Also disclosed is a related method for performing motion detection usingan optical code reader. According to the method, an image sensor of theoptical code reader is positioned so that a field of view of the imagesensor includes a region to be monitored for motion. The optical codereader is switched from an optical code reading mode to a motiondetection mode. Video data in the field of view of the image sensor iscompressed by identifying changes between frames of video data, and thefrequency of changes between frames of video data is monitored toidentify relatively low frequency changes indicative of the movement ofrelatively large objects in the field of view. The method may includethe further steps of transmitting the compressed video data from theoptical code reader to a terminal, and displaying the image of the fieldof the range sensor at the terminal.

Physical parameters other than motion in the field of view of theoptical code reader may be detected. The present invention includessystems for detecting optical code and, generally, one or more physicalparameters of a target object. In a preferred embodiment, these systemsinclude an image sensor for producing electronic signals correspondingto a two dimensional array of pixel information for a field of viewcontaining the target object. A light pattern projector is provided toproject a pattern such as a set of cross-hairs on objects in the fieldof view of the sensor. The system includes circuitry/software forreading an optical code in the field of view of the image sensor as wellas for determining a physical parameter of the target object from thereflection of the light pattern from the target object onto the imagesensor.

In more preferred embodiments the physical parameter of the targetobject is determined by measuring edge discontinuities in the lightpattern caused by that target object. The system may further comprise aplatform for supporting the target object in the field of view of theimage sensor. An arrangement of springs or other weight sensitivestructures may be provided to support the platform and permit theplatform to move through a distance approximately proportional to theweight of the supported target object. A counter surface adjacent to theplatform may be used to produce an edge discontinuity in the reflectedpattern between an edge of the platform and an adjacent edge of thecounter surface. In the case that the projected pattern is a line, aseparation distance between reflected segments of the line at an edgediscontinuity may be measured and used as an indication of weight basedon a predetermined correlation between the two values.

In another preferred embodiment the projected pattern includes at leastone line and a vertical height of an object on the platform is detectedby measuring a discontinuity in the line at an upper edge of the object.In a further embodiment, the projected pattern includes two non-parallellines. A length and width of the object on the platform is detected bymeasuring the length of a segment of one line lying between edgediscontinuities in the direction of the length of the object, and thelength of a segment of the other line lying between edge discontinuitiesin the direction of the width of the object, respectively.

Thus, the system may be capable of reading a code on a target object,producing a video display detecting motion in a field of view of thesystem, determining the distance to the target object, determining itsweight, and determining its height, length and width.

This summary is provided for the convenience of the reader, it beingunderstood that the particular subject matter which applicants regard astheir invention is defined in the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a pictorial view of a handheld optical code reader and hostterminal;

FIGS. 2 and 2a are a sectional views of preferred embodiments of ahandheld imaging optical code reader showing the imaging engine andinternal component placement;

FIG. 2b is a pictorial view of a handheld computing device equipped withan optical code reader and host terminal;

FIG. 3 is a simplified functional block diagram of a preferredembodiment of an imaging engine which may be used in preferredembodiments of the present invention;

FIG. 4 is a block diagram of an image sensor circuit board which may beused in a preferred embodiment of the present invention;

FIG. 5 is a block diagram of a logic circuit board which may be used ina preferred embodiment of the present invention;

FIG. 6 is a schematic diagram illustrating the processing of imagesensor data in a preferred embodiment of the present invention;

FIGS. 7 and 7a are schematic diagrams illustrating a wheel withselectively positionable optical sectors used in preferred embodimentsof the present invention;

FIGS. 7b-7 d are diagrams illustrating optical properties of a bifocalsystem using a selectively inserted plane parallel plate;

FIG. 8 is a sectional view illustrating the use of an aiming pattern todetermine target distance;

FIG. 8a is a diagram illustrating a method of determining the size of anobject in a field of view of an imager;

FIG. 9 shows an apparatus for projecting laser line patterns on aweighing platform in accordance with a preferred embodiment of thepresent invention;

FIG. 10 illustrates the extraction of length, width, height and weightinformation from an image of a target object and platform;

FIG. 11 shows an apparatus in pictorial view for measuring thedimensions of an object and its distance;

FIGS. 12(a) and (b) are, respectively, top and bottom views of aprojecting and imaging component of the apparatus of FIG. 11.

DETAILED DESCRIPTION OF THE DRAWINGS

Systems Overview

FIG. 1 is a pictorial view of a handheld optical code reader and aschematic view of a host terminal which may be used for various of theimaging functions of the present invention. Advantageously, the opticalcode reader employs an imaging engine 10 of a type described in U.S.patent application to Correa et al. filed on Jun. 12, 1998 and entitled“IMAGING ENGINE AND METHOD FOR CODE READERS”, Ser. No. 09/096,578, whichapplication is hereby incorporated by reference.

As shown in FIG. 1, the handheld code reader 12 includes a housing 14having a generally elongated handle or hand grip 16 and an upper portion18 for housing the imaging engine 10. The front face 15 of the imagingengine appears at the forward end of the upper portion of the handheldoptical code reader 12. The cross sectional dimensions and overall sizeof the handle portion 16 are such that the optical code reader canconveniently be held in the user's hand.

A manually actuatable trigger 20 is mounted in moving relationship onthe handle portion 16 in a forward facing region of the optical codereader. The user's forefinger is normally used to actuate the opticalcode reader by depressing the trigger. A flexible electrical cable 22may be provided to connect the optical code reader to a host terminal.In alternative embodiments the cable may also provide electrical powerto the scanning engine 10. In preferred embodiments the cable 22 isconnected to a host terminal or system which receives decoded data fromthe optical code reader. In alternative embodiments a decode module maybe provided exterior to the optical code reading engine 10 in the hostterminal or system.

The apparatus of FIG. 1 may be used to obtain non-code image data. Anobject 24 in the field of view of the code reader may be sensed.Compressed image data may be transmitted to the host terminal overelectrical cable 22. The transmission of video data may be triggered bypressing the trigger 20 or by actuating another switch on the handheldcode reader. The image data may then be applied to the host terminal.The compressed image data may be applied to a serial communication portof the host terminal such as the serial communication port of a personalcomputer when such a device is used as the host terminal. The image datamay be processed by a data processor 26 within the computer andselectively displayed on monitor 28. A color video image may be obtainedin the manner described below.

FIG. 2 is a sectional view of a preferred embodiment of a handheldoptical code reader in accordance with preferred embodiments of thepresent invention showing the location of the imaging engine 10.Advantageously, the imaging engine 10 includes a laser aiming patterngenerator. The parallel, offset relationship between a principal axis 30of the objective lens assembly and the principal axis 32 of the aimingsystem is also shown.

A trigger or handle circuit board 34 is located in the handle portion 16of the handheld optical code reader 12. The trigger board iselectrically connected to switch means associated with the trigger 20 ofthe handheld device and processes signals indicative of the operator'sdepressing of the trigger 20 in order to initiate, or continue readingof optical codes or initiate transmission of a video image.

In an alternative embodiment a decoding board 36 (including themicroprocessor) may be provided external to the imaging engine 10. Incircumstances where the handheld optical code reader of FIG. 2 is to beretrofitted from a laser line scan engine to an optical imaging engine,the imaging engine 10 and decoding board 36 may be inserted in place ofthe line scan engine and circuit board in the handheld code reader. Inthis way previously designed toolings, housings and host devices may beemployed and provide continuity in upgrading the code reading system.

Compression of the video signal provided by the imaging engine may beperformed by data compression software executed by a microprocessorlocated in the imaging engine 10 or, optionally in the decoding board 36or handle board 34. On command, the compressed video data may betransmitted to the host terminal via cable 22.

FIG. 2a is a sectional view of another preferred embodiment of ahandheld optical code reader 12′ in accordance with preferredembodiments of the present invention showing the location of the imagingengine 10. This embodiment is battery powered and wireless. A decodingboard 36 (including the microprocessor) may be provided external to theimaging engine 10.

A trigger or handle circuit board 34′ is located in the handle portion16′ of the handheld optical code reader. The trigger board iselectrically connected to switch means associated with the trigger 20′of the handheld device and processes signals indicative of theoperator's depressing of the trigger 20′.

In addition to circuitry associated with the trigger, the handle of theoptical code reader of FIG. 2a may contain a radio frequency board 38and antenna 40 which provide a mobile radio link to one or more dataterminals. Electrical power for the optical code reader 12′ may beprovided by battery 42. An infrared data interface (IRDA) 44 ormulti-contact shoe (not shown) may also be provided to communicate databetween the optical code reader and an external receiver or dockingdevice, respectively. Compressed image data may be transmitted to thehost terminal via a radio frequency link, IR communication link, ordirect contact with the docking device.

It will be understood that aspects of the present invention are alsoapplicable to imaging engines which are not located in conventionalhandheld scanners or guns. For example, the imaging engine may beincorporated into a computer terminal in a fixed location or in arotating turret. Such arrangements are particularly well adapted forusing the imaging engine as part of a video phone system which also usesthe display, processing and I/O capabilities of the computer.

Alternatively, the imaging engine may be attached to a portable computerdevice such as a PALM PILOT, or attached to portable scanning systems orterminals such as those available from applicant, Symbol Technologies,Inc. Such systems may be incorporated as part of a local area, cellularor wide area network to coordinate scanning and other image processingfunctions described below.

An example of such a system is shown in FIG. 2b. An optical code reader50 is shown attached to an end of a handheld computing device 52. Codereading or image capture may be initiating by depressing triggers 54.Image information is obtained through the objective lens assembly 56,which may be displayed on a screen 58 of the handheld computing device.Optionally the computing device may be connected to a host terminal dataprocessor 60 by a wire link 62 as shown or by an IR or RF communicationlink. Video information obtained by the system may be displayed at ahost terminal monitor 64.

In portable applications where electrical power is supplied bybatteries, it is particularly important to conserve energy. Powermanagement techniques for such portable images may include the provisionto switch the images to lower resolution or frame rates to conservepower. Alternatively, the imager may be periodically shut down, or shutdown when the system senses that the battery charge level has droppedbelow a preselected level.

Imaging Engine

Imaging engine electronic hardware includes two major electricalsubsystems: an imaging subsystem and a decoding subsystem. The imagingsubsystem includes an area solid-state image sensor, analog-to-digitalconverter, timing generator, automatic gain control (AGC) circuit andthe peripheral circuits to control the above components. The decodingsubsystem is constructed around a micro processor unit. In preferredembodiments the micro processor is an IBM manufactured Powered PC (403Series). The PowerPC is a 32 bit RISC embedded controller which provideshigh performance and functional integration with low power consumption.Other components of the decoding subsystem include a flash ROM, DRAM,I/O (8 bit bidirectional parallel port, 16 user/system single bit I/O's)and required glue logic.

FIG. 3 is a functional block diagram of a preferred embodiment of theimaging engine of the present invention illustrating the arrangement ofcertain electrical components of the imaging engine. The electronichardware comprising the imaging subsystem and decoding subsystem isrepresented generally by a block 80, labeled “control and logic circuit”in FIG. 3. A double headed arrow 82 illustrates the conductance ortransmission of signals between the image sensor 12 and the control andlogic circuit 80. As shown in FIG. 3, the objective lens assembly 84,the aiming pattern generator 86 and the illumination source 88 may becontrolled by signals provided by the control and logic circuitry 80.These interrelationships are described in greater detail in theabove-mentioned patent application entitled “IMAGING ENGINE AND METHODFOR CODE READERS”.

FIGS. 4 and 5 are block diagrams of various electronic circuits andcircuit boards employed in preferred embodiments of the presentinvention. FIG. 4 is a block diagram of a CCD circuit board. As shown inFIG. 4, electronic signals from a CCD detector 100 pass through varioussignal conditioning blocks to produce a digital output signal 102applied to a logic board or circuit of the system. The CCD detector isprovided with power supply board or system (not shown) and clock driversignals by the clock driver circuit 104. Various sync pulses and controlsignals are applied to a clock generator 106 from an FPGA on the logicboard (FIG. 5).

FIG. 5 is a block diagram of a logic circuit board employed in apreferred embodiment of the present invention. The heart of the logicboard is a microprocessor 110. Digital signals from the imaging sensorcircuits are supplied to the microprocessor by FPGA circuit 111. Asindicated by the data line 112, the FPGA circuit 111 provides controlsignals from the microprocessor for the aiming system, illuminationsystem and objective lens servo system. The microprocessor also providesinformation to systems external to the imaging engine via the RS 232driver 114.

Conventional video data compression software may be stored in the DRAM118 and be executed by the microprocessor 110. Compressed video imagesmay be transmitted to the external world, especially to the serial portof the host PC or terminal to permit display or recording of the imageincident on the imaging sensor.

The microprocessor may also communicate by data line to Flash memory 116and DRAM memory 118 on which other data and software for the system arestored. This information may include decoded data from a target opticalcode.

Video Display/Recording

FIG. 6 is a schematic diagram illustrating the processing of imagesensor data in preferred embodiments of the present invention.

Information from decoding of an optical code and/or compressed videoinformation obtained by a handheld code reader 200 may be transmittedover a data link 202 to a host terminal 204. In the host terminal orhandheld unit, the bandwidth of the image signal may be used for motiondetection as discussed in detail below. Further, information concerningphysical parameters of an object in the field of view of the imagesensor, may be measured. Additionally or alternatively, individual videoframes may be processed and displayed on the terminal monitor.

The present invention employs conventional real time video compressiontechniques such as have been used in Internet telephony. However, in thepresent invention, a handheld code reader is used to provide anapproximation of real time or full-motion video output through thestandard scanner interface. Such output may be at least 3 frames persecond, and preferably 20-30 frames per second or more. This provides ameans to view the intended imaging target on the host system prior tothe time that decoding is initiated (for example by pulling the triggeron the handheld code reader). This technique can also be used to speedimage transmission to other components (e.g., host processor or displaysubsystems) within an embedded imaging terminal. The compressed videofrom the scanner will be transmitted over an interface (e.g., serial COMport) which is standard on most computer systems. Thus, the system doesnot require special host system hardware (e.g., frame grabbers) tocapture a video signal for digital use. Use of this compression schemealso enables other implementations.

Thus, the code reader can be used in a fashion similar to a camcorder.The system can double as a code reader and a video camera, video displayor video recorder, such as those used in surveillance applications. Theaddition of a wireless radio link provides a portable video recordingunit.

The video display/recording functions can be controlled by data inputfrom control function barcodes. For example, a barcode may encode thecommand to display the video image obtained by the code reader. Whenthis code is scanned, the system is converted into a video display mode.Such command codes may be used for other functions, for example, to turnoff the laser aiming pattern of the code reader, in order to avoidprojecting the pattern on the video image target and cluttering of theresultant display.

Motion Detection and Tracking

Video compression is a technique useable to accommodate limitedbandwidth data links. One conventional approach to compression is totransmit only differences between adjacent frames. When this approach isused, a stationary scene requires zero bandwidth. Changes in theutilized bandwidth therefore indicate that motion has occurred. Aninexpensive, automated motion detector can be implemented by monitoringthe bandwidth requirement of the compressed video signal. As analternative implementation, the frequency of the changes in thebandwidth of the compressed video signal can be monitored to deduce themagnitude of the change in the image scenery. Scenes with small amountsof motion, such as when imaged leaves are moving in the wind, producemostly high-frequency (or localized) changes. However, motion of anobject which consumes a relatively large image area, (such as a car)causes low frequency (or global) changes as well as high frequencychanges. The image compression algorithms used in video transmissionsend low frequency changes first if they are present. By detectingwhether low-frequency information is received, the host computer caneasily detect motion and also perform a determination of the magnitudeof the motion.

The system of the present invention is also capable of capturingmultiple frames at regular intervals. Similar objects can be identifiedin adjacent frames resulting in a motion tracking algorithm. An object'sspeed can be estimated by measuring the position and time differences ofthe object between multiple image frames.

Selectable Optics

Imaging readers, designed to read optical codes for the largest possibleworking range, generally do not image scenes clearly. This is becausetheir focal distance is usually relatively short. To image scenesclearly, an imager (such as a fixed focus camera) should be focused atthe hyper-focal position, where objects farther than a certain distancefrom the imager are all imaged with clarity.

Imaging scanners generally can only take black-and-white images.Intrinsically colored detector arrays (such as CCDs) do exist, but it isvery difficult to convert the intrinsically colored pictures they takeinto black-and-white images for decoding barcodes. This is because it isdifficult to accurately calibrate the ever-changing illuminationconditions and the reflective characteristics of the background materialfor the barcode. Without accurate black-and-white images, it isdifficult for an imaging scanner to achieve its full potential indecoding barcodes. Its main performance measures, such as the workingrange, will suffer.

In response to these problems, preferred embodiments of the presentinvention may employ selectable optical systems such as thoseillustrated in FIGS. 7 and 7a. The illustrated system employs apivotable or rotatable carrier or wheel 500 with selectivelypositionable optical sectors.

The electro-optical components of the code reader may include an imagesensor chip 502 (such as a CCD, CMOS detector, CMD or CID) and anobjective lens 504, located on a principal optical axis 505 (inputoptical path) of the system. The particulars of this part of the systemare discussed in detail in the above-referenced application entitled“IMAGING ENGINE AND METHOD FOR CODE READERS”.

A portion 501 of the wheel 500 is shown located in the input opticalpath of the sensor chip 502 as shown in FIG. 7. In FIG. 7 the opticalpath is shown as a straight path passing through a simple objective lensand a single sector of wheel 500. It will be understood, however, thatthe teachings of the present invention may be applied to systems withfolded input optical paths or multiple objective lens elements. Astepper motor 506 may be coupled to the wheel 500 by gearing 508 toselectively rotate the wheel 500 to position a sequence of differentwheel sections on the input optical paths.

As shown in FIG. 7a, the wheel 500 may have multiple angular sectors 510extending radially outward of the wheel axis 511, the sectors affect theincoming light in various ways. In the wheel embodiment of FIG. 7a, fivesectors are provided: transparent (clear), green filter, red filter,band pass filter, and open sector.

The open sector may be used for code reading, in order to employ a focaldistance selected for typical target code distances. A transparent(clear) glass sector may be placed in the optical path of the system toproduce a higher focal distance, more appropriate for video imaging. Forcolor video, most of the video information may be obtained through thetransparent glass sector as well. However, the image may also be sampledthrough the red and green filters to obtain chroma information forrendering a color display. The band pass sector may employ a filterwhose optical pass band is selected to transmit light at the wavelengthof the laser aiming system or pattern projecting system. This enhancesthe detection of the pattern, particularly in high ambient lightenvironments (e.g. sunlight) where the pattern might not otherwise bedetected.

The use of the wheel 500 avoids the need for elaborate mechanical meansfor optically aligning various filters, such as drop-in filters. Adistinctive filter such as the band pass filter may be used tosynchronize rotation of the wheel 500. In other words, detection oflight signals predominating in the pass band can be used as asynchronizing signal to indicate that the band pass filter is currentlyrotated into the optical path of the sensor.

The use of the clear glass and open sectors described above is anexample of a bifocal optical system, employing focusing through aparallel plate to selectively change nominal focusing distance of thesystem. The theory of operation of such a system will now be explainedin greater detail.

As illustrated in FIG. 7b, when a light ray 518 passes through a planeparallel plate 520 of thickness t, the ray appears to be shifted by adistance Δ perpendicular to the plate. This effect makes an objectbehind a refractive media (such as a glass plate or a layer of water)appear closer to the observer. The shift is approximately constant whenthe angle θ is small: $\begin{matrix}{\Delta \approx {\left\lfloor {1 - \frac{1}{n}} \right\rfloor t}} & (1)\end{matrix}$

where n is the refractive index of the plate. The perpendicular shift Δmay be used to selectively modify the focal distance of an imagingsystem to change the system from a code reading mode to a video or sceneimaging mode as described as follows.

The nominal focal distance Z_(R) for a code reader is determined byvarious optical considerations and assumptions concerning code symbolsize, working distances, available optics, etc. A typical nominal focusdistance Z_(R) for a code symbol is 5 inches. The relationship of Z_(R)to the geometry of the code reader is illustrated in FIG. 7(c). In theFigure, the area image sensor 522 (e.g. the CCD) is located on theoptical axis 524 of the objective lens or lens assembly 526, spaced at adistance d_(R). The value d_(R) may be calculated in accordance with thefollowing equation $\begin{matrix}{d_{R} = \frac{1}{\frac{1}{f} - \frac{1}{Z_{R}}}} & (2)\end{matrix}$

where f is the focal length of the objective lens. For example, for alens with an f=8 mm, the nominal range distance d_(R) for reading code 5inches from the imager is 8.538 mm.

However, when imaging is done for human visual consumption, differentfocal properties are desired. In such a case, a determination must bemade of a Z value appropriate for the system and its uses with adesirable working focal depth and tolerable focal aberration.

In a hyper-focal mode, normally a greater Z value is desired (a nominalvideo imaging focal distance called Z₁). In accordance with theteachings of this invention, in the hyperfocal mode, an effectivedistance d_(V) between the imager sensor (e.g. CCD chip) and theobjective lens assembly of the system is selected such that the largestdepth of focus is achieved from a selected finite distance all the wayto infinity. This distance d_(V) represents the effective distancebetween the image sensor to the objective lens assembly when a planeparallel plate or plate sector 528 is moved into the optical path of thesystem between the image sensor 522 and the objective lens assembly 526.

The hyper-focal configuration may be calculated by setting the defocusabberation of an object at infinity to be the maximum tolerable errorfor video focusing. There are various conventional ways to estimate themaximum tolerable abberation. One is to set the geometrical spot size tobe that of the system pixel size (or pixel pitch). Another conventionalmethod is to chose a maximum wavefront error of λ/4. Using the lattermethod (which is a looser criterion giving a larger depth-of-focus), thedefocus wavefront error of a object at infinity is given by δ, if z isthe distance to the front focal point:

δ=z(1−cos θ)=λ/4,

where θ is given by

sin θ=D/2z.

where D is the aperture diameter of the system. When θ is small (validfor large F number systems such as the imaging system of imager codereaders), the following relationship is valid:${\cos \quad \theta} = {\sqrt{1 - {\sin^{2}\theta}} \approx {1 - {\frac{1}{2}\quad \sin^{2}\quad {\theta.}}}}$

Solving for Z_(v) yield the expression:

Z _(v) ≈D ²/2λ  (3)

The underlying geometry of this calculation is illustrated in FIG. 7(d).It will be understood that the distance Z_(v) lies between a Z value ofinfinity and a near location. It will also be understood that the systemhas a defocus wavefront error of about λ/4 at infinity and at the nearlocation Z_(R)/2.

Assuming a small lens assembly aperture used in the disclosed imagingengine of 0.8 mm, and a mid-band wavelength of 600×10⁻⁹ m, the valueZ_(R) (hyper-focus position) is calculated to be about 21 inches, inaccordance with equation (3). From this, the corresponding imagedistance d_(v) is calculated to be about 8.122 mm using an equation ofthe form of equation (2). Thus d_(v) is approximately 0.416 mm shorterthan the value previously calculated for d_(R). A parallel-plate ofthickness t may be inserted in the optical path to shorten the distanced_(R) of the system to an effective distance d_(v). Solving equation (1)for t yields the equation:$t = {{\frac{\Delta}{n - 1} \cdot n} = {\frac{d_{R} - d_{v}}{n - 1} \cdot n}}$

where n is the refractive index of the plate. Assuming n to be 1.6 andusing the example values of d_(R) and d_(V) previously calculated,yields a t value of 1.109 mm. A piece of glass with such a thickness isnot difficult to move in-and-out-of the optical path of the disclosedimaging code readers. The depth-of-focus for the hyper-focal system isfrom 10.5 (Z_(R)/2) inches to infinity. It will be understood that theaforementioned approach may be used to produce an imaging code readerwith various selectable focal distances Z_(R) for each code reading asopposed to video imaging of scenes. In this way a more versatile codereader may be provided.

An imager system with a selectively inserted refractive plate isrelatively easy to manufacture. The positioning of an inserted plate(for instance a glass plate) does not have to be accurate, as thelongitudinal ray shift does not depend on the position of the plate. Theonly requirement is that the plate intercept all of the rays needed atthe detector. A slight rotation of the plate has only minimal effect.Assuming a rotation angle of α, one can easily verify that the backfocal point shifts longitudinally in proportion to cos(α), andtransversely in proportion to sin(α). The cosine function is not verysensitive to rotation, while a transverse shift is not important in mostapplications, as long as the detector is large enough (which is true forCCD imager scanners in general).

The system described above can be further enhanced to take color images.For getting the finest possible resolution it is desirable not to usecolored CCDs, where the color filters are fitted to each of the pixels.This is because converting a colored picture to a black-and-white onewith precision is difficult. In accordance with the present invention,several color filters are used to capture pictures in differentwavelengths, and create a composite color picture throughpost-processing. For this purpose, the wheel of color and transparentfilters shown in FIGS. 7 and 7(a) may be used. The filter wheel couldhave four sections, for example, with one of them open, one with atransparent glass piece, and the other two with different coloredfilters. The open section may be used for code reading, where the focusis precisely calibrated. The transparent glass plate is used for takinga black-and-white picture, and choosing the thickness of the glass plateprecisely for this purpose. In comparison, the thickness of the colorfilters is not as critical thickness, because the pictures taken throughthese filters are used to colorize the more precise black-and-whitepicture. For a human observer the chromaticity information does not haveto be as precise as the luminosity information.

Detecting Physical Parameters Distance, Dimensions and Weight of TargetObject

The above-mentioned patent application entitled “IMAGING ENGINE ANDMETHOD FOR CODE READERS” discloses aiming systems and methods fordetermining target distances using image data and the projected aimingpattern. FIG. 8 illustrates one such method using an imaging engine withan aiming pattern generator and an image sensor having essentiallyparallel, offset optical axes.

Once an image of the aiming pattern is captured, the code reader may becalibrated and the offset of an image of a center marker of the aimingpattern can then be used to estimate the distance between the opticalcode reader and the target. This procedure is illustrated with referenceto FIG. 8. In the Figure, the principal axis 30 of the objective lensand the principal output axis of the aiming system 32 are parallel andoffset by a small distance A″, for example, 5 mm. A ray which tracks abeamlet defining the center marker of the aiming frame is collinear withthe axis 32. The locations of the center marker in a first target plane600 and a second target plane 602 are indicated at points X and Y,respectively. The images of points X and Y on the surface of an areaimage sensor 604 are x′ and y′, respectively. It will be observed thatpoints x¹ and y¹ are offset slightly from one another. This offset canbe correlated with the distances D₁ and D₂ of the target planes 600 and602, respectively. Once the system is calibrated, information concerningthe offset of the image of the central marker viewed at an arbitrarydistance may be used to estimate the distance between the code readerand the target from which the center marker is reflected.

If there is feature of known size on the object, for example a UPSshipping barcode, then object size can be computed in accordance withthe proportionate relationship of the length of the known feature in theimage to the length of the unknown feature in the image. Alternatively,given the range of the as determined above and the size of the object inthe image, triangulation can be used to compute the size of the physicalobject.

The determination of the physical size of the object may proceedemploying the following techniques. These techniques are based on theassumption that the imaged 3D object is a rectangular solid object. Aparallel projection of the 3D object is considered, rather than a trueperspective projection. The parallel projection is believed to provide asufficiently accurate solution for most practical implementations.

The following discussion presents the equations to obtain actual 3Ddimensions from a 2D projection (image) of an object.

FIG. 8a shows a 2D image of a 3D rectangular solid, for example a boxhaving orthogonal edges. α, β and γ are the projected angles between theimages of visible edges of the rectangular solid which meet at a cornerof the object nearest the imager. a, b, c are vectors along the majoraxes. Given the imaged length of the vectors along a, b, c, theiroriginal dimensions are obtained by using scale factors S_(a), S_(b)S_(c) respectively. Equations for these scale factors are given below.A, B, ω, ν are intermediate parameters used by these equations. Let:

A=Cos(β−90°), B=Cos(γ−90°)

Then:

Tan⁴ω=(1/A ²−1)/(1/B ²−1)

Sin²ν=((1/A ²−1)(1/B ²−1))½

Solving for ω and ν, the scale factors are given as:

S _(a) =A/Cos(ω)

S _(b)=1/Cos(ν)

S _(c) =B/Sin(ω).

If L_(a), L_(b) and L_(c) are the actual lengths of edges correspondingto image vectors a, b and c, then the actual length may be approximatedin accordance with the following expressions:

L _(a) =S _(a) *a*Q

L _(b) =S _(b) *b*Q

L _(c) =S _(c) *c*Q

where Q is the ratio of actual length to image length for an imagedobject in a plane perpendicular to the optical axis of the imager at thetarget distance d. It will be understood that the value of Q is afunction of determined target distance d and is a property of theparticular optical imaging system employed.

FIG. 9 shows an apparatus for projecting and detecting laser linepatterns on a weighing platform to determine, among other things, theweight of a target object. Such an apparatus is useful, for example, insupermarket checkout systems where produce is priced in accordance withweight determined at the checkout counter.

The apparatus of FIG. 9 includes an imaging engine or video camera 700and a line generating device 702 for projecting one or more lines L onobjects within the field of view 704 of the imaging engine. In preferredembodiments the line generating device can be a laser diode with adiffractive optical element in the path of the laser beam. A weighingplatform 706 is mounted on mechanical supports that displace verticallywith applied weight (e.g. springs). The line generating device mayproject a pattern of light in the field of view of the image sensoralong an optical path which is not colinear with at least one of anoptical axis 708 of the image sensor and an axis of movement 709 of theplatform in response to the weight of the object. As shown in FIG. 9,the line generating device may be mounted at an angle with respect tothe optical axis 708 of the imaging engine 700. An optical axis 710 ofthe line generator is also oriented off-axis from the axis of movement709 of the platform 706 in response to the weight of a object placed onit.

In the embodiment of FIG. 9 the line generator produces a cross hairpattern, including perpendicular lines 712 and 714. However, it will beunderstood that a single laser line may be sufficient to perform theweighing operation. In FIG. 9, the platform 706 is shown displaced byweight 716. The displacement is downwardly with respect to a countersurface 718 which surrounds it. As a result, lines 712 and 714 arebroken into segments separated by dimensions a and a′, respectively.Such separations are referred to as “edge discontinuities” created byedges or adjacent, offset surfaces in the field of view of the imagesensor. It will be understood that these dimensions may be proportionalor otherwise related in value to the weight necessary to cause thecorresponding downward displacement of the platform 706.

FIG. 10 illustrates the use of the system of FIG. 9 to determine variousphysical parameters of a target object (package) 720, located on theplatform 706. Displacements of segments of line 712 at 722 can beemployed as indicators of weight of the target object 720. Similarlydisplacements of line 714 at 724 may be used as indicators of weight.The vertical height of the object at its edges may be determined fromdisplacements 726. Finally, the length and width of the object can bedetermined from the imaged length of the line segments 228 and 230,respectively, taking into account, as necessary, the effects of thedetermined distance of the object from the image sensor and/or thevertical displacement of the upper surface of the object 720 withrespect to the counter surface 718.

The apparatus of FIGS. 9 and 10 may be used in the following way. Anoperator may pick up a package 720 and place it on the platform 706. Theplatform will move in the vertically downward direction to a degreedependent on the weight of the package. This downward displacement willresult in the shifts in the laser lines (discussed in connection withFIG. 10) as viewed by the imaging engine and from one or more of thesedisplacements, the weight of the package can be calculated. The heightof the package will also result in the shift of the laser linesindicated at 726 in FIG. 10 and from those shifts the height of the boxcan be determined. A simple classical edge detection image processingalgorithm can be implemented to determine the width and the length ofthe box from the dimensions of the line segments 228 and 230.

FIGS. 11, 12(a) and 12(b) illustrate an alternative embodiment of thepresent invention which measures the dimensions and distance of a targetobject 800. The apparatus may include a target object supporting surface802 and a stand 804 for supporting a imaging and projecting module 806.It will be understood that the surface 802 and module 806 may beoriented in various ways with respect to one another in order toaccommodate convenient operator access and to facilitate location oftarget objects in the system.

Advantageously, the module 806 includes an imaging engine 808 of thetype described in the above-mentioned application “IMAGING ENGINE ANDMETHOD FOR CODE READERS”. The imaging engine includes a diffractiveoptic system for projecting an aiming pattern 810 in the field of view812 of the image sensor 814 of the imaging engine. Image informationfrom the reflected aiming pattern may be used to determine the distanceof the image sensor from the surface reflecting the pattern in themanner described in the above-mentioned application. Another diffractiveoptic system 815 may be employed to project a cross-hair pattern 816onto the target object 800 and onto reference surface 802. Imageinformation from the reflected pattern may be used to determinedimensions of the object as discussed in detail above. Informationobtained concerning the distance of the upper surface 818 may be used toscale dimensional information obtained from the cross hair pattern 816in order to compensate for the fact that line segments and offsetscloser to the image sensor will appear larger than ones located furtheraway.

The system of FIG. 11 can include a self-calibration feature. A markeror flag 820 can be located on the surface 802 or at another preselectedlocation within the field of view 812 of the image sensor. OCR softwareassociated with the imager can be employed to recognize the marker orflag and calibrate the system based on the size or position of thedetected image or information coded therein.

FIGS. 12(a) and 12(b) are details of the module 806 illustrating certainaspects of the apparatus. FIG. 12(a) is a top view of the module. Asshown the module may be equipped with a display 822, which receives alive video signal from the imaging engine. The displayed image may, forexample, be used by an operator to position a target object in theapparatus and to verify that the aiming pattern and cross hairs areproperly projected on a target object of interest. The module may alsobe equipped with a keypad 824, which may be used to input data into themodule or into a host computer.

FIG. 12(b) shows the underside of the module 806. The imaging engine 808includes the image sensor 814 and the aiming pattern projector 826.Illumination sources 828 may also be included in the engine. Thestructure and function of the aiming pattern projector and illuminationsources are described in detail in the above-referenced patentapplication. In a preferred embodiment, the principle optical axes ofthe image sensor 814 and the aiming pattern projector 826 are paralleland offset from one another. Both axes may be oriented at an obliqueangle with respect to the principle axis of the diffractive opticssystem 815 which projects the cross hair pattern. This angularpositioning may be used to produce the offsets in the detected imagingof the cross hair pattern as explained above.

While dimensioning aspects of the present invention has been describedin connection with imaging code readers located on stands or in fixedpositions, it will be understood that aspects of the present inventionmay be practiced with mobile or handheld code readers as well. Asdescribed above, the aiming pattern generation of the imaging engine maybe used to determine the range of an imaged object. Lengths of segmentsof projected patterns reflected by the object may be measured, andscaled to convert them to object dimensions using the determined range.If the target object is marked with a label, barcode, MaxiCode, etc. ofknown size, that information can be used to check the range anddimension determinations. Moreover, conventional image analysis may beused to obtain target object dimensions once the target object distancehas been determined in one of the above described ways. If the object isassumed to be a regular cylinder or regular rectangular solid (as aremost products and packages), object dimensions can be ascertained bymeasuring the image distances between readily detected image edges, andscaling such dimensions in accordance with the determined range andangular relationship of the detected edges.

The described embodiments of the present invention are intended to beillustrative rather than restrictive, and are not intended to representevery embodiment of the present invention. Various modifications andvariations can be made to the disclosed systems without departing fromthe spirit or scope of the invention as set forth in the followingclaims both literally and in equivalents recognized in law.

We claim:
 1. An imager based optical code reading and weighing systemcomprising: an image sensor having a field of view; a weighing platformin the field of view of the image sensor which platform moves inresponse to the weight of an object placed on the platform; and anelectronic processor receiving image information from the image sensorfor detecting and decoding an optical code in the field of view of theimage sensor; for measuring the amount of movement of the platform inresponse to the weight of the object placed on the platform from imagedata received from the image sensor; and for producing a signal relatedin value to the weight of the object from the image data received fromthe image sensor.
 2. The system of claim 1, further comprising a laserlight projector for projecting a pattern of light in the field of viewof the image sensor along an optical path which is not colinear with atleast one of an optical axis of the image sensor and an axis of movementof the weighing platform in response to the weight of the object, andwherein the image sensor detects a reflection of the pattern andproduces therefrom the signal related in value to the weight of theobject.
 3. The system of claim 2 wherein the pattern includes a line andwherein movement of the platform is detected by measuring a dimension ofa discontinuity in the line at an edge of the platform.
 4. The system ofclaim 3, wherein the pattern includes a line and wherein a verticalheight of the object on the platform is detected by measuring adimension of a discontinuity in the line at an upper edge of the object.5. The system of claim 2, wherein the pattern includes two non-parallellines and wherein dimensions of the object on the platform are detectedby measuring the length of a segment of one line lying between edgediscontinuities in the direction of the length of the object, and bymeasuring the length of a segment of the other line lying between edgediscontinuities in the direction of the width of the object.
 6. Thesystem of claim 1, wherein measurement of movement of the platform iscalculated from the value of the signal.
 7. An apparatus for detectingoptical codes on a target object and one or more physical parameters ofthe target object comprising: an image sensor for producing electronicsignals corresponding to at least one frame of a two dimensional arrayof pixel information for a field of view containing the target object;means for projecting a pattern onto the field of view of the imagesensor; and means for reading an optical code in the field of view ofthe image sensor and for determining a physical parameter of the targetobject from at least one frame having an image representing thereflection of the pattern from the target object onto the image sensor.8. The apparatus of claim 7, wherein the physical parameter of thetarget object is determined by measuring edge discontinuities in thepattern caused by that target object.
 9. The apparatus of claim 8,further comprising a weighing platform for supporting the target objectin the field of view of the image sensor; and means for supporting theplatform which permits the platform to move in a vertical direction fora distance approximately proportional to the weight of the targetobject.
 10. The apparatus of claim 9, further comprising a countersurface adjacent to the platform, wherein the edge discontinuitymeasured is between an edge of the platform and an edge of the countersurface.
 11. The apparatus of claim 10, wherein the projected pattern isone or more lines and wherein the measured edge discontinuity is aseparation between reflected segments of the line.
 12. The apparatus ofclaim 10, wherein the projected pattern includes two approximatelyperpendicular lines which cross near the center of the weighingplatform.
 13. An imaging system for measuring an orthogonal dimension ofa rectangular solid in a field of view of an imager, comprising: meansfor obtaining pixel information corresponding to at least one frame ofthe field of view of the imager; means for determining a distancebetween the object and the imager using the pixel information; means fordetermining the angles between edges of the rectangular solid objectmeeting at a corner of the object, determining an imaged length of atleast one of the edges of the rectangular solid object and scaling thedetermined image length of the at least one edge responsive to thedetermined angles and determined distance between the rectangular solidobject and the imager to obtain an approximation of the actual length ofsaid at least one edge of the rectangular solid object.
 14. Theapparatus of claim 13, wherein the distance determining means includesan optical device for projecting a pattern onto the object and whereinthe distance between the object and the imager is determined from adetected image of the pattern projected onto the object.
 15. Theapparatus of claim 13, wherein the distance between the object and theimager is determined from at least one image dimension of an opticalcode symbol of known size on the object.
 16. The apparatus of claim 13,wherein the imager is a handheld imaging optical code reader.
 17. Theapparatus of claim 13, wherein the apparatus determines the image lengthand actual length of the three edges meeting at a nearest corner of theobject.
 18. An imaging system for reading optical codes and measuring adimension of one or more features in a field of view of the system,comprising: an image sensor having a field of view; a pattern projectorfor projecting a pattern into the field of view; an electronic processorreceiving image information from the image sensor for detecting anddecoding an optical code in the field of view of the image sensor andfor producing a signal related in value to the dimension of the one ormore features in the field of view based on image information relatingto at least a portion of the projected pattern, wherein said imageinformation corresponds to at least one frame of the field of view. 19.The system of claim 18, further comprising a weighing platform on whichthe pattern is projected, which platform moves in response to the weightplaced thereon, and wherein a signal responsive to the amount ofmovement of the platform is determined based on image information. 20.The system of claim 19, wherein the weight of an object on the platformis calculated from the value of the signal.